package com.yoj.judgeservice.strategy;

import com.yoj.model.codesandbox.JudgeInfo;
import com.yoj.model.dto.question.JudgeCase;
import com.yoj.model.entity.Question;
import com.yoj.model.entity.QuestionSubmit;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 上下文参数（用于定义在策略中传递的参数）
 */
@Accessors(chain = true)
@Data
public class JudgeContext {

    /**
     * 判题信息，程序执行信息内存消耗等等
     */
    private JudgeInfo judgeInfo;

    /**
     * 输入用例
     */
    private List<String> inputList;

    /**
     * 输出结果
     */
    private List<String> outputList;

    /**
     * 题目用例
     */
    private List<JudgeCase> judgeCaseList;

    /**
     * 题目信息
     */
    private Question question;

    /**
     * 题目提交信息
     */
    private QuestionSubmit questionSubmit;
}